# 了解mysql锁的概念，读锁，写锁，行锁 ，表锁。 https://learnku.com/articles/39212
"""
锁是计算机协调多个进程或线程并发访问某一资源的机制。

MyISAM 和 MEMORY存储引擎采用的是表级锁(对当前操作的整张表加锁)；
InnoDB存储引擎既支持行级锁，也支持表级锁，但默认情况下是采用行级锁(只针对当前操作的行进行加锁)。
"""

"""
行锁:

共享锁又称：读锁。上读锁时，别人只能读不能写，不能上写锁可以上读锁。 lock in share mode
排它锁又称：写锁。上写锁时，别人可以读不能写，不能上读写锁。 for update

 select  *  from 表 where  条件  lock in share mode；
 select  *  from 表 where  条件  for update；

"""

# 1.全局锁：对整个数据库加锁
# 2.表级别锁：对表进行加锁  分:表锁  元数据锁
  # 表锁：lock tables … read/write   unlock tables ...
  # 元数据锁MDL:MDL不需要显式使用，在访问一个表的时候会被自动加上
# 3.行锁：只针对当前操作的行进行加锁
# 4.排查锁：表锁分析：show status like 'table%';  行锁分析：show status like 'innodb_row_lock%';
# 5.死锁：指两个或者多个事务在同一资源上相互占用，并请求锁定对方占用的资源，从而导致恶性循环的现象



